<?php
/**
 * Хелпер кометариев
 * 
 * Хелпер коментариев
 * @author Anton Zavidov
 * @package myLiveShop
 */

/**
 * Хелпер категорий
 *
 */
class HelperComments{
    public static function getComments(){
        global $views;
        $model = $model ? $model : Requestlocal::getString('model',false);
        $id = $id ? $id : Requestlocal::getInt('id',false);
        if(!$model || !$id) {
            if(Core::isJSON()) {
                $views->result('error');
            }
            return false;
        }
        $views->setAll(self::getList($model, $id));
        return true;
    }
    /**
     * Получаем список коментариев
     *
     * @param strimg $model тип
     * @param int $id id пользователя или ничего, если все (если 0 то текущего)
     * @return array
     */
    public static function getList($model, $id){
        if(!$model || !$id) return array();
        import('model.user');
        $list=import('model.comment',true)->load(false,array(
            ModelComment::F_COMMENT_ID,
            ModelComment::F_PARENT_ID,
            ModelComment::F_DESCRIPTION,
            ModelComment::F_USER_ID,
            ModelUser::TABLE.DOT.ModelUser::F_NAME
        ),array(
            'where'=>ModelComment::F_MODEL.'="'.$model.'" AND '.ModelComment::F_MODEL_ID.'='.$id
        ));
        $return=array();
        if(is_array($list)){
            $return=self::getParent($list,0);
        }
        return $return;
    }
    private static function getParent(&$list,$id){
        $return=array();
        foreach ($list as $item) {
            if($item[ModelComment::F_PARENT_ID]==$id){
                $item['child']=self::getParent($list,$item[ModelComment::F_COMMENT_ID]);
                $item['deleted']=$item[ModelComment::F_DESCRIPTION]==ModelComment::DELETED;
                $return[]=$item;
            }
        }
        if(!count($return))return false;
        return $return;
    }
}